package Cn.edu.zafu.bigdata.x.cxy;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileAppendOperations {

    // 追加内容到文件的方法
    public static void appendToFile(String fileName, String content) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true))) { // true表示追加模式
            writer.newLine(); // 添加一个新行
            writer.write(content);
            System.out.println("内容已追加到文件：" + fileName);
        } catch (IOException e) {
            System.out.println("追加文件时发生错误：" + e.getMessage());
        }
    }

    // 读取文件内容的方法
    public static void readFile(String fileName) {
        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            System.out.println("文件未找到：" + e.getMessage());
        } catch (IOException e) {
            System.out.println("读取文件时发生错误：" + e.getMessage());
        }
    }

    // 主方法，用于测试
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要追加的文本内容：");
        String content = scanner.nextLine();
        scanner.close();

        String studentId = "202203090119";
        String filesDir = "files"; // files目录名称
        String fileName = filesDir + File.separator + studentId + ".txt"; // 文件路径

        // 确保files目录存在
        File directory = new File(filesDir);
        if (!directory.exists()) {
            directory.mkdirs();
            System.out.println("已创建files目录");
        }

        // 将输入的文本追加到文件
        appendToFile(fileName, content);

        // 读取文件内容并打印
        readFile(fileName);
    }
}